package com.tencent.abstract_and_interface;
/**
 * 
 * @author Administrator
 *课程目标：
 *抽象类的概念和作用、模板方法模式、接口概念和作用、
 *接口与抽象类的区别、面向接口编程、简单工厂模式、策略模式
 *
 *（抽象类的概念和作用）
 *1、抽象的定义：
 *抽象是把多个事物的共性的内容抽取出来，本质就是把我
 *们关注的内容抽取出来。（比如：宝马、奔驰都属于汽车，汽车是抽象出来的概念）
 *
 *2、抽象咧：
 *java中可以定义没有方法体的方法，该方法由其子类来具体的实现。该没有方法
 *体的方法我们称之为抽象方法，含有抽象方法的类我们称之为抽象类。
 *
 *3、抽象方法的特点：
 *（1）只有方法头没有方法体的方法称为抽象方法.
 *（2）抽象方法用abstract来修饰。
 *（3）抽象方法代表一种不确定的操作或行为。
 *（4）抽象方法不能被调用。
 *
 *4、抽象类的特点：
 *（1）定义中含有抽象方法的类叫做抽象类。
 *（2）抽象类用abstract来修饰。
 *（3）抽象类代表一种抽象的对象类型。
 *（4）抽象类不能实例化。
 *（5）抽象类中可以有具体方法，可以没有抽象方法。
 *
 *5、示例--根据给出的内容进行分析设计 	
 *（1）需求：公司中所有的员工都有工号，姓名、薪水，工作。
 *（2）教学总监除了员工所具备的特点以外，还有管理津贴。
 *（3）对给出的需求进行数据建模。
 *
 *
 *(模板方法模式)
 *1、定义：一个模板方法用一些抽象的操作定义一个算法，而子类将重定义这些操作以提供具体方法。
 *2、意图：定义了在一个操作中的一个算法框架，把一些步骤推迟到子类去实现，模板方法模式让子类
 *不需要改变算法结构而重新定义特定的算法步骤。
 *
 *（接口概念和作用）
 *1、接口语法：
 *interface 接口名{
 * 静态常量，抽象方法
 * }
 * 
 * 2、接口的特点
 * （1）接口中只能存放静态常量和抽象方法。
 * （2）java接口是对功能的扩展。
 * （3）通过实现接口，java类可以实现多实现。
 * （4）一个类可以同时继承（extends）一个父类并且实现（implement）多个接口。
 * （5）接口与接口之间可以通过使用extends来产生继承关系。（接口之间可以存在继承关系）
 */
public class test {
//重点：抽象类是对象的抽象，然接口是一种行为规范
	public static void main(String[] args) {
	

	}

}
